package com.smart.community.region.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.smart.community.region.entity.Resident;
import com.smart.community.region.dto.ResidentAddDTO;
import java.util.List;

/**
 * 住户信息服务接口
 * 
 * @author Wu.Liang
 * @since 2025-07-28
 */
public interface IResidentService extends IService<Resident> {
    
    /**
     * 根据用户ID查询住户信息
     * @param userId 用户ID
     * @return 住户信息列表
     * @throws Exception 统一异常
     */
    List<Resident> getResidentsByUserId(Long userId) throws Exception;
    
    /**
     * 根据姓名模糊查询住户
     * @param realName 真实姓名
     * @return 住户信息列表
     * @throws Exception 统一异常
     */
    List<Resident> getResidentsByRealName(String realName) throws Exception;
    
    /**
     * 新增住户信息（带权限验证）
     * @param residentAddDTO 住户新增DTO
     * @return 新增的住户信息
     * @throws Exception 统一异常
     */
    Resident addResidentWithPermission(ResidentAddDTO residentAddDTO) throws Exception;
} 